package org.tsing.xxl_job.task;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;

/**
 *  BEAN模式（方法形式
 * 定时器类：编写定时任务，即项目中的业务代码;
 * 注意点：
 * 1.定时器类中，方法必须有 String 类型的入参，返回值必须是 ReturnT<String>，否则启动项目会报错。
 * 2.最后需要使用 @XxlJob 注解，否则调度中心无法调度该任务。
 */

//@Component
public class MyTask {

    /**
     * @XxlJob 中 value 值唯一即可
     * @param param
     * @return
     */
    @XxlJob(value = "firstTask")
    public ReturnT<String> firstTask(String param) {

        XxlJobHelper.log("start firstTask param = {}", param);

        // 业务代码，此处作为演示只打印 hello xxl-job
        System.out.println("hello xxl-job");

        XxlJobHelper.log("end firstTask");

        return ReturnT.SUCCESS;

    }
}
